package Day001_继承_抽象类.抽象类;

public class Test {
      /*
            抽象类的概述
                - 概述: 使用abstract关键字修饰的类就是抽象类
                - 特点: 这种类不能被创建对象,它就是用来做父类的,被子类继承的
            抽象类的格式:
                public abstract class 类名{

                }
            抽象类中的成员:
                成员变量
                构造方法
                set\get方法
                成员方法
                抽象方法

            普通类和抽象类的区别:
                1.抽象类比普通类多了抽象方法
                2.普通类可以通过构造方法创建对象,而抽象类是不能创建对象的

            抽象类的特点:
                - 抽象类不能被创建对象，就是用来做“父类”，被子类继承的。
                - 抽象类不能被创建对象，但可以有“构造方法”——为成员属性初始化。
                    父类的构造方法的作用: 就是给子类的构造方法调用,来初始化从父类继承过来的属性

                - 抽象类中可以没有抽象方法,但抽象方法必须定义在抽象类中
                - 子类继承抽象类后,必须重写抽象类中所有的抽象方法,否则子类必须也是一个抽象类

         */

        //1.抽象类不能创建对象
        //Animal a = new Animal();
        //Cat c = new Cat();
        //Animal a = new Animal("旺财",2);
}
